Internet protocol (“IP”) telephony and IP multimedia networks employ several protocols to setup and manage calls and sessions. One of the most widely adopted protocols for IP-based signaling is Session Initiation Protocol (“SIP”). SIP is used, for example, for initiating new calls and sessions, manipulating call paths, and enabling the association of services with users regardless of their point of connection in the network. These are just a few areas of SIP application.
The increasing use of SIP has spurred development and introduction of numerous services with SIP interfaces for the user and network access. This approach makes sense as the number of SIP-capable devices proliferates in IP networks. These devices have several features and mechanisms defined to employ existing telephony features in SIP.
One such feature is call parking. Call parking is a commonly used feature in today's deployed telephony solutions, especially in office environments. As an example, consider a First user and a Second user in a telephony conversation and the Second user wants to move to another location during the conversation. Suppose it is not possible to physically move the device being used by the Second user to the new location, and also that the Second user does not want to hang up the call and fully re-originate the call for any particular reason. Therefore, the Second user presses a button(s) on the device that parks the call at a park server. The Second user then moves to the new location and retrieves the parked call by calling the First user. This process of call retrieval is referred to as call pick up.
Unfortunately, however, existing SIP-based call parking solutions have several drawbacks. For example, one solution requires the Second user to re-originate the call at the new location by sending a call-pickup origination request to the First user. Therefore, in this solution, although the call will be parked in a normal fashion for the First user (e.g., similar to generally accepted call park functions), the Second user essentially hangs up and recalls the First user to park and pick-up the call. One problem with this technique is that it requires advanced feature handling in a handset device so that the handset at the new location has the capability of sending detailed call-pickup origination requests. Such a feature does not exist in most of the commercially available SIP devices. Therefore, using this solution would require upgrades of most handsets in the network.
Another problem with existing solutions for picking-up the call at the new location is that the Second user must know the SIP address of the First user in order to re-originate the call. The SIP address of the First user may not be known, however, if the First user is calling from a payphone and does not know the phone number of the payphone, or if the First user is an anonymous caller, for example. The proposed solution further assumes that from the new location, the Second user will have calling privileges to call the First user. Moreover, if the Second user has not subscribed to a caller ID feature, then the Second user requires the First user to reveal its SIP address. This could be a privacy issue.
Furthermore, a major problem with the proposed solution of the prior art is that service providers have no control over the call park/call pick up feature. The park server is provided for parking the call. However, the park server is not involved in the pickup process except for being asked to disconnect the parked call, because the Second user picks up the call by re-originating a call with the First user from the new location (e.g., the Second user simply calls the First user again from the new location). The parked call (i.e., the communication session between the First user and the park server) can be dropped due to any reason (e.g., the First user getting impatient and hanging up). As a result, it is difficult for the service provider to know whether a successful call pick up occurred. This implies that the service provider will have difficulty charging for the call pick up feature and may have no incentive to provide this service.
Finally, another major drawback in the currently proposed solutions is that a dedicated Park Server in the network is required. To implement the call park feature, currently, a network would have to deploy a dedicated machine to do the Park server functionality. To have a network deploy a dedicated machine to do the Park server functionality would drastically increase ownership costs. Thus, the currently proposed solution is unlikely to be deployed.
Accordingly, it would be desirable to have a system and method for handling call parking and call pick up without the above described drawbacks and disadvantages.